API Journey - Level Two - 1
Definitions (_journey/definitions.md/definitions.md) (1/1) - From the simplest definition of what a service does, all the way to the complete OpenAPI definition for each service. These are the artifacts that will guide each service through every step of the API lifecycle. API definitions are not just for documentation, or for generating code, they define the contract that a service delivers.
Design (_journey/design.md/design.md) (1/2) - The consistent design of each service leverage existing patterns, as well as focusing on the web to deliver services. Thinking critically, consistently, and practically about how we design the APIs, and evolve this practice with each version of our service.
Caching (_journey/caching.md/caching.md) (1/3) - What caching exists at the server, CDN, and DNS layers for each service to provide a higher level of performance?
Deployment (_journey/deployment.md/deployment.md) (1/6) - The myriad of ways in which APIs are deployed from existing backend system, databases, filesystems, and proxying, and building facades of older legacy, or 3rd party services. There are often too many ways to deploy an API, making it a difficult area to easily bring into focus and lead developers and business stakeholders through.
Virtualization (_journey/virtualization.md/virtualization.md) (1/7) - Details how how services and their underlying data are mocked, virtualized, sandboxed, and made available for non-production usage.
Authentication (_journey/authentication.md/authentication.md) (1/8) - What is involved with authentication across all services, including key-based approaches, basic authentication, JWT, and OAuth solutions.
Dependencies (_journey/dependencies.md/dependencies.md) (1/8) - Identifying all backend service, code and infrastructure dependencies present for each service.
DNS (_journey/dns.md/dns.md) (1/8) - The domain addressing being used for routing, management and auditing of all service traffic, opening up this layer of the stack to be accessible as part of the API lifecycle.
Management (_journey/management.md/management.md) (1/9) - Information about how services are composed, limited, measured, reported upon, and managed consistently across all services, providing a consistent definition to how services get managed.
Portal (_journey/portal.md/portal.md) (1/10) - The strategy for how all services are required to be published to one or many public, private, and partner developer portals.
Documentation (_journey/documentation.md/documentation.md) (1/11) - The requirements for what documentation is expected as part of each service presence, defining what the services delivers.
Logging (_journey/logging.md/logging.md) (1/11) - What is being logged as part of service operations, and what is required to participate in overall logging strategy?
Support (_journey/support.md/support.md) (1/12) - Relevant support channels, points of contact, and best practices for receiving support as an API consumer.
Communications (_journey/communications.md/communications.md) (1/13) - Information about the communication strategy around each service, and how blogs, social, and other channels should be leveraged.
Road Map (_journey/road-map.md/road-map.md) (1/14) - Details on a services road map, and what the future will hold, providing individual service, as well as larger organizational details on what is next.
Issues (_journey/issues.md/issues.md) (1/15) - Expectations, communications, and transparency around what the current bugs, issues, and other active problems exist on a platform.
Change Log (_journey/change-log.md/change-log.md) (1/16) - Translating the road map, and issues into a log of activity that has occurred for each service, providing a history of the service.
Versioning (_journey/versioning.md/versioning.md) (1/16) - Plan for handling changes, and the inevitable evolution of each service, its definitions, and supporting code, establishing common and consistent approaches to approaching and communicating around the versioning of everything service related.
Testing (_journey/testing.md/testing.md) (1/18) - The tactical, as well as strategic testing that is involved with each service, ensuring it is meeting service level agreements.
Performance (_journey/performance.md/performance.md) (1/19) - How is the performance of each service measured and report upon, providing a benchmark for the quality of service.
Observability (_journey/observability.md/observability.md) (1/20) - What does observability of the service look like, providing transparency and accountability using all of its existing outputs?
Encryption (_journey/encryption.md/encryption.md) (1/21) - Details regarding what is expected regarding encryption on disk, as well as in transport for each service.
Security (_journey/security.md/security.md) (1/22) - Detailed strategy and processes regarding how each service is secured on a regular basis as part of operations.
Terms of Service (_journey/terms-of-service.md/terms-of-service.md) (1/23) - Considerations, and legal requirements applied to each service as part of the overall, or individual terms of services.
Privacy (_journey/privacy.md/privacy.md) (1/24) - Details regarding the privacy of platform owners, developers, and end users as it pertains to service usage.
Service Level Agreements (_journey/service-level-agreements.md/service-level-agreements.md) (1/25) - Details regarding what service levels are required to be met when it comes to partner and public engagements.
Licensing (_journey/licensing.md/licensing.md) (1/26) - Information about backend server code, API surface area, data, and client licensing in play.
Branding (_journey/branding.md/branding.md) (1/27) - What branding requirements are in place for the platforms and its partners when it comes to the service, and what is expected of consumers when it comes to supporting the branding of the platform.
Regulations (_journey/regulations.md/regulations.md) (1/28) - Information regarding regulations in place that effect service operations, and are required as part of its usage.
Discovery (_journey/discovery.md/discovery.md) (1/29) - How are services catalogued and made discoverable, making them accessible to other systems, developers, as well as to internal, partner, or public groups.
Client (_journey/client.md/client.md) (1/30) - Information about clients being used to interface with and work with the service, allowing it to be put to use without code.
Command Line Interface (_journey/command-line-interface.md/command-line-interface.md) (1/31) - The command line interface (CLI) tooling being used to developer or consume a service, and integration within larger pipelines, models, and lifecycle implementations.
SDKs (_journey/sdks.md/sdks.md) (1/32) - What software development kits (SDK) are generated, or developed and maintained as part of a service’s operation? Providing the code samples, libraries, and development kits that are needed to put services to use.
Plugins (_journey/plugin.md/plugin.md) (1/33) - What platform plugins are developed and maintained as part of a services operations, allowing it to work with other platforms and services.
IDE (_journey/ide.md/ide.md) (1/34) - Are there integrated development environment (IDE) integrations, libraries, plugins, or availability considerations for each service?
Browsers (_journey/browsers.md/browsers.md) (1/35) - Are there any browser plugins, add-ons, bookmarklets and integrations used as part of each service’s operation, providing browser specific client solutions, that are ready to go--no coding necessary.
Embeddable (_journey/embeddable.md/embeddable.md) (1/36) - Information about any embeddable badges, buttons, widgets, and other JavaScript enabled solutions built on top of a service?
Bots (_journey/bots.md/bots.md) (1/37) - What type of automation and bot implementations are in development or being supported as part of a service’s operation?
Visualization (_journey/visualization.md/visualization.md) (1/38) - Are there specific visualizations that exist to help present the resources available within any service?
Analysis (_journey/analysis.md/analysis.md) (1/39) - How are logs, APIs, and other aspects of a service being used as part of wider analysis, and analytics strategy?
Aggregation (_journey/aggregation.md/aggregation.md) (1/42) - Are there any aggregation solutions in place that involve the service, and depend on its availability?
Integration (_journey/integration.md/integration.md) (1/43) - What 3rd party integrations are available for working with a service in existing integration platforms like IFTTT, and Zapier.
Regions (_journey/regions.md/regions.md) (1/47) - Which regions does a service operate within, making it available in specific regions, and jurisdictions–also which regions is it not allowed to operate within.
Webhooks (_journey/webhooks.md/webhooks.md) (1/49) - Are there webhooks employed to respond to events that occur via the service, pushing data, and notification externally to consumers?
Migration (_journey/migration.md/migration.md) (1/52) - What solutions are available for migrating an API between regions, cloud environments, and on-premise?
Real Time (_journey/real-time.md/real-time.md) (1/55) - Are there Server-Sent Events (SSE), Websocket, Kafka, and other real time aspects of a service’s delivery, allowing for the delivery of content, data, and other resources in real time, using dedicated connections and streams.
Training (_journey/training.md/training.md) (1/55) - What training materials need to be developed, or already exist to support the service.
Voice (_journey/voice.md/voice.md) (1/56) - Are there any voice or speech enablement, integrating services with Alex, Siri, Google Home, or other conversational interface? Looking at how services can be tailored and evolved to better meet this specific type of client usage, which might be significantly different than other web or mobile client scenarios.
Network (_journey/network.md/network.md) (1/57) - Information about networks that are setup, used, and allocated for each service governing how it can be accessed and consumed.
Spreadsheets (_journey/spreadsheets.md/spreadsheets.md) (1/59) - What types of spreadsheet integrations, connectors, and publishing solutions are available for a service?
Investment (_journey/investment.md/investment.md) (1/61) - Where do the funds for operating a service come from within a company, from external organizations, or VC funds?
Monetization (_journey/monetization.md/monetization.md) (1/63) - What does it cost to operate a service, breaking down the one time and recurring costs involved with delivering the service.
Plans (_journey/plans.md/plans.md) (1/65) - Outline of plans involved with defining, measuring, reporting, and quantifying value generated around a service’s operation.
Partners (_journey/partners.md/partners.md) (1/67) - An overview of partner program involved with a service’s operation, and how a wider partner strategy affects a service’s access and consumption. Establishing a trusted tier of access which high value partners can be organized and given special access to a variety of services, further meeting the platform's goals.
Certification (_journey/certification.md/certification.md) (1/69) - Are there certification channels available for applications and developers, defining the knowledge required to competently operate and integrate a service.
Evangelism (_journey/evangelism.md/evangelism.md) (1/70) - What does internal, public, and partner evangelism efforts and requirements look like for a service, and its overall presence?
Showcase (_journey/showcase.md/showcase.md) (1/72) - How are developers and applications using a service showcased, and presented to the community, demonstrating the valuable around a service?
Deprecation (_journey/deprecation.md/deprecation.md) (1/77) - What are the plans for deprecating a service, involved the road map and communication around the individual and overall deprecation of service(s).
Governance (_journey/governance.md/governance.md) (1/80) - How are all steps measured, quantified, aggregated, reported upon, and audited as part of a larger quality of service effort for each service.
